Game device and game system

ABSTRACT

A technique which easily removes the motion element of a game controller which is attributed to the vibrating motion of a vibrator from the output data of an acceleration sensor or reduces the element is provided. In a game device, a wireless communication module receives an acceleration sensor output data, which has been analog-to-digital converted, in a game controller. A sensor output correction unit corrects the received acceleration sensor output data and provides the corrected acceleration sensor output data to the application processor. In the sensor output correction unit, a masking processing unit performs the masking process on the acceleration sensor output data within the predetermined range of masking. The masking processing unit corrects the acceleration sensor output data within the range of masking including zero acceleration to have zero acceleration.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to game device and game system.

2. Description of the Related Art

In game systems, game controllers provided with vibrators such as motorshave become widely used. A user can be given a sense of reality byhaving the vibrator driven as a game progresses.

In recent years, the use of the posture and the movement of a gamecontroller as game operation data input to a game device is realized byinstalling a motion sensor in the game controller. When a user moves thegame controller, the motion sensor detects, for example, the inclinationand the rotation of the game controller, and by transmitting thedetected value to a game device, game operation data different from theconventional user's button manipulation data can be generated. Forexample, in a racing game, by treating a game controller as if it were asteering wheel of the car, a user can play a game with more realisticfeeling compared to the feeling while operating with buttons.

However, when a vibrator and a motion sensor are mounted on a gamecontroller, the motion sensor detects not only the motion element of thegame controller given by the movement of a user, but also the motionelement of the game controller attributed to the vibrating motion of thevibrator. For this reason, the game operation data not representing thegame operation the user have originally intended may be reflected in thebehavior of a game character, making the user to feel odd.

SUMMARY OF THE INVENTION

A general purpose of the present invention is to provide a techniquewhich easily remove the motion element of the game controller which isattributed to the vibrating motion of the vibrator from the output dataof a motion sensor such as an acceleration sensor and an angularvelocity sensor or reduce the motion element.

A game device according to the embodiment of the present invention isoperative to execute a game application, and comprises: an applicationprocessor operative to process a game application; an acquisition unitoperative to receive the motion sensor output data, which has beenanalog-to-digital converted, in a game controller; and a correction unitoperative to correct the received motion sensor output data and providethe corrected motion sensor output data to the application processor asgame operation data. The correction unit has a masking processing unitwhich performs the masking process on the motion sensor output datawithin a predetermined range of a mask.

Another aspect of the present invention relates to a game system. A gamesystem is provided with a game controller and a game device which isoperative to execute a game application, wherein the game controllercomprises: at least one vibrator of which the driving is controlled by avibration controlling signal provided by the game device; a motionsensor; a low pass filter to which the motion sensor output data isprovided; an analog-to-digital converter operative to analog-to-digitalconvert the output data of the low pass filter; and a communicationmodule operative to provide the motion sensor output data, which hasbeen analog-to-digital converted, to the game device. The game devicecomprises: a communication module operative to receive the motion sensoroutput data from the game controller; an application processor operativeto process a game application; a creation unit operative to create thevibration controlling signal to be provided to the game controller; anda correction unit operative to correct the received motion sensor outputdata and provide the corrected motion sensor output data to theapplication processor. The correction unit performs the masking processon the motion sensor output data within the predetermined range ofmasking.

Optional combinations of the aforementioned constituting elements, andimplementations of the invention in the form of methods, apparatuses,systems, recording mediums and computer programs may also be practicedas additional modes of the present invention. A technique which easilyremove the motion element of the game controller which is attributed tothe vibrating motion of the vibrator from the output data of a motionsensor or reduce the motion element can be achieved by the presentinvention.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments will now be described, by way of example only, withreference to the accompanying drawings which are meant to be exemplary,not limiting, and wherein like elements are numbered alike in severalFigures, in which:

FIG. 1 is a diagram showing the usage environment of a game systemaccording to the embodiment of the present invention;

FIG. 2 is a diagram showing the exterior configuration of a controller;

FIG. 3 is a diagram showing the internal configuration of a controller;

FIG. 4 is a diagram showing the configuration of a low pass filter;

FIG. 5A is a diagram showing substrates and vibrators being exposedwhich are fixed to a bottom housing, and FIG. 5B is a diagram showing afixed structure of a motor;

FIG. 6 is a diagram showing a variation example of LPF;

FIG. 7 is a diagram showing the configuration of a game device;

FIGS. 8A and 8B are diagrams showing sensor output data of the detectedmovement of a controller caused by the movement of a user;

FIGS. 9A and 9B are diagrams showing sensor output data detectingvibrating motion of a controller caused by the vibrating motion of avibrator, along with the movement of the controller caused by themovement of a user;

FIGS. 10A and 10B are diagrams showing the masking range ofacceleration;

FIG. 11 is a diagram showing the relation of a sensor output data andacceleration during masking process; and

FIGS. 12A and 12B are diagrams showing the result of a masking processon the sensor output data shown in FIGS. 10A and 10B.

DETAILED DESCRIPTION OF THE INVENTION

The invention will now be described by reference to the preferredembodiments. This does not intend to limit the scope of the presentinvention, but to exemplify the invention.

FIG. 1 shows the usage environment of a game system according to theembodiment of the present invention. A game system 1 is provided with animage display device 3, an audio output device 4, a game device 10, anda controller 20. The image display device 3, the audio output device 4,and the controller 20 are connected to the game device 10.

The image display device 3 is a display to process an image signal. Theimage display device 3 displays a game screen upon the reception of theimage signal generated in the game device 10. The audio output device 4is a speaker to output audio. The audio output device 4 outputs gameaudio upon the reception of the audio signal generated in the gamedevice 10. The image display device 3 and the audio output device 4constitute an output device in the game system 1. The game device 10 andthe output device may be connected via wires such as an AV cable or maybe connected wirelessly. A home network built with, for example, anetwork (LAN) cable or a wireless LAN, may be established between thegame device 10 and the output device.

The controller 20 is an input device for a user to input game operationdata to move a character in the game, and the game device 10 is aprocessing device which processes a game application based on the gameoperation data provided by the controller 20 and creates the imagesignal and audio signal indicating the processing result of the gameapplication. The technique shown in the embodiment can be realized notonly in game applications but in an entertainment system provided with aprocessing device to execute other kinds of applications. The gamesystem 1 in which a game application is executed will be explained asfollows as a representation of entertainment systems.

The controller 20 has a function of transmitting the game operation datainput by the user to the game device 10, and in the embodiment, thecontroller 20 is provided as a wireless controller which communicateswirelessly with the game device 10. The controller 20 and the gamedevice 10 may establish a wireless connection by using Bluetooth(registered trademark) protocol. In transmitting and receiving the gameoperation data, the game device 10 functions as a base unit, in otherwords, a master, and the controller 20 functions as a slave unit, inother words, a slave. The controller 20 is not limited to a wirelesscontroller and may be a wired controller which is connected to the gamedevice 10 via a cable.

The controller 20 is activated by a battery which is not shown, and isprovided with a plurality of buttons and keys for user's manipulation toprogress the game. When the user manipulates the button or the key ofthe controller 20, the manipulation data is periodically transmitted tothe game device 10 as the game operation data wirelessly. The controller20 is provided with a three axis acceleration sensor which detectsacceleration in three axes, and an angular velocity sensor which detectsangular velocity around a predetermined axis. The three axisacceleration sensor and the angular velocity sensor constitute themotion sensor which detects the movement of the controller 20. In somegame applications, detection value of each sensor is treated as the gameoperation data and transmitted periodically to the game device 10wirelessly. For example, by moving the controller 20 as if it were asteering wheel of a car, the output data of the three axis accelerationsensor and the angular velocity sensor are used as game operation datain a racing game where cars are moved in the game.

The game device 10 receives the game operation data on the gameapplication from the controller 20, controls the game progress inaccordance with the game operation data, and generates the game imagesignal and the game audio signal. The generated game image signal andthe game audio signal are output by the image display device 3 and theaudio output device 4, respectively. The game device 10 has a functionof transmitting to the controller 20 the vibration control signal tovibrate the controller 20 in accordance with the progress status of thegame application. The controller 20 has the vibrator, and upon thereception of a vibration starting signal, the controller 20 startsdriving the vibrator; and upon the reception of a vibration terminatingsignal, the controller 20 terminates driving the vibrator. The gamedevice 10 may transmit for every transmission frame a vibrationcontrolling signal indicating whether to drive the vibrator; and in thatcase, the vibration of the controller 20 is controlled in accordancewith the vibration controlling signal.

FIG. 2 shows the exterior configuration of a controller. The controller20 is provided with a direction key 21, an analog stick 27, and fourdifferent manipulation buttons 26. The four different buttons 22-25 aremarked with different figures in different colors so as to distinguishone button from another. More specifically, a ∘ button 22 is marked witha red circle, a x button 23 with a blue cross, a □ button 24 with apurple square, and a Δ button 25 with a green triangle.

The user grips a left grip part 28 a with his or her left hand, a rightgrip part 28 b with his or her right hand, and manipulates thecontroller 20. The direction key 21, the analog stick 27, and themanipulation buttons 26 are provided on a top housing 30 so that theuser can manipulate them while gripping the left grip part 28 a and theright grip part 28 b.

The vibrators provided with, for example, motors, are placed inside ofthe housings of the left grip part 28 a and the right grip part 28 b.When a wireless communication module of the controller 20 receives thevibration starting signal from the game device 10, the right and leftvibrators are driven. The vibrating motion is then transmitted thehousing of the controller 20, and the controller 20 vibrates. Also asubstrate for controlling the function of the controller 20 is placednear the center of the interior of the housing of the controller 20. Forexample, the previously mentioned three axis acceleration sensor and theangular velocity sensor are installed on the substrate. The housingwhich constitutes the outer frame of the controller 20 is constituted byfitting a bottom housing and a top housing to each other, and a vibratorand a substrate are fixed to the bottom housing.

The three axis acceleration sensor and the angular velocity sensor onthe substrate detect the movement of the controller 20, and when thevibrator is driven, the vibration component of the controller 20generated by driving the vibrator is included in the detection value. Ifthe above mentioned racing game has a game setting in which a car runsstraight by maintaining the controller 20 in a horizontal position, itis conceivable that the car which should run straight runs in zigzagsdue to the vibration component when the vibrator is driven. Since suchbehavior of the car gives the user unpleasant feeling, the vibrationcomponent from the vibrator is preferably removed to a maximum extentfrom the game operation data. The mechanism of reflecting the positionand the movement of the controller 20 affected by the movement of theuser in a character in the game the user is playing will be explained asprecisely as possible as follows.

FIG. 3 shows the internal configuration of a controller. The controller20 has a processing unit 90 and is further provided with vibrators 80 aand 80 b which are provided with motors and eccentric members, and awireless communication module 92. The vibrators 80 a and 80 b are placedin the left grip part 28 a and right grip part 28 b, respectively in theinside of housing of the controller 20. The wireless communicationmodule 92 has a function of transmitting and receiving data to and fromthe wireless communication module of the game device 10. The processingunit 90 performs the desired process in the controller 20. The functionsof the processing unit 90 and the wireless communication module 92 maybe realized as a circuit built in a substrate provided inside of thehousing.

The processing unit 90 is provided with a main controlling unit 50, aninput reception unit 52, a sensor block 56, a filter block 60, ananalog-to-digital conversion device 64, an averaging processing block68, a memory 70, a readout unit 72, a communication controlling unit 74,and a drive controlling unit 76. The communication controlling unit 74transmits and receives necessary data to and from the wirelesscommunication module 92.

The input reception unit 52 receives the manipulation data from an inputunit, for example, the direction key 21, the manipulation button 26, andthe analog stick 27, and transmits the manipulation data to the maincontrolling unit 50. The main controlling unit 50 provides the receivedmanipulation data to the memory 70 and stores the manipulation data inthe memory 70. The manipulation data from various input units areoverwritten in the respective area assigned for each manipulation dataas game operation data in the memory 70.

The communication controlling unit 74 controls the transmission processof the wireless communication module 92 at predetermined cycles. Sincethe frame cycle of a game image of the game device 10 is set at 1/60 s,the transmission cycle of the wireless communication module 92 is set atless than 1/60 s, for example, 11.25 ms. The readout unit 72 reads outgame operation data from the memory 70 in accordance with thetransmission cycle of the wireless communication module 92, and providesthe game operation data to the communication controlling unit 74. Sincethe manipulation data from the various input units are overwritten andsaved in the respective storage areas, the readout unit 72 can providethe manipulation data as the latest game operation data to thecommunication controlling unit 74.

The sensor block 56 has a plurality of acceleration sensors 54. When thesensor block 56 includes a three axis acceleration sensor, the sensorblock 56 is provided with three acceleration sensors 54. Theacceleration sensor 54 detects the movement of the controller 20 causedby the movement of the user. The detection value, which is an outputdata, of the acceleration sensor 54 is used as the game operation dataof a game application in the embodiment. The sensor block 56 may beprovided with the angular velocity sensor in addition to theacceleration sensor.

The filter block 60 has a plurality of low pass filters (LPF) 58. LPF 58is installed at the downstream of acceleration sensor 54, and is afilter which passes the frequency component below the cutoff frequencyof the output data of acceleration sensor 54, and attenuates a frequencycomponent close to or above the cutoff frequency. The internal resistorin the sensor block 56 may be used as a resistor element whichconstitutes the low pass filter with LPF 58.

The analog-to-digital conversion device 64 is provided with a pluralityof analog-to-digital converters (ADC) 62. ADC 62 converts an analogsignal output from the LPF 58 into a digital signal. Preferably, asampling cycle is set smaller than the transmission cycle of thewireless communication module 92. The sampling cycle may be, forexample, about 2 ms. The analog-to-digital conversion device 64 mayretain a fixed sampling cycle or allow the sampling cycle to becontrolled as desired by the main controlling unit 50.

The averaging processing block 68 is provided with a plurality ofaveraging processing units 66. The averaging processing unit 66 performsthe averaging process on sampling values output from ADC 62 during thetransmission cycle of the wireless communication module 92, andoverwrites the averaged value as game operation data in the areaassigned in the memory 70. As described above, the averaging processingunit 66 can reduce the influence of the vibration component of thehousing attributed to the vibrator 80 superimposed on the sensor outputdata by averaging the sampling values during the transmission cycle. Theaveraging processing unit 66 does not need to exist in the processingunit 90, and in that case, the sampling values of ADC 62 are overwrittenand stored as game operation data in the respective areas in the memory70 at a sampling cycle.

What is described above shows the process performed on the output dataof the acceleration sensor 54 by LPF 68 in the filter block 60, ADC 62in the analog-to-digital conversion device 64, and the averagingprocessing unit 66 in the averaging processing block 68, and the outputdata of the angular velocity sensor may be processed in the same manner.

As stated previously, the readout unit 72 reads out the game operationdata from the memory 70 in accordance with the transmission timespecified by the transmission cycle of the wireless communication module92, and provides the game operation data to the communicationcontrolling unit 74. Since the sensor output data provided by theaveraging processing unit 66 and the ADC 62 are overwritten and saved inthe respective storage areas, the readout unit 72 can provide the latestsensor output data, which is included in the game operation data, to thecommunication controlling unit 74. The communication controlling unit 74transmits, via the wireless communication module 92 and to the gamedevice 10, the sensor output data as the game operation data which isacquired by the motion sensor, more specifically, the accelerationsensor 54 and the angular velocity sensor, along with the manipulationdata of, for example, the manipulation button 26 which is received bythe input reception unit 52.

Upon the reception of a vibration controlling signal indicating thestart or termination of the vibration from the game device 10, thewireless communication module 92 provides the vibration controllingsignal to the main controlling unit 50. The main controlling unit 50provides the vibration controlling signal to the drive controlling unit76, and the drive controlling unit 76 controls the drive of thevibrators 80 a and 80 b based on the vibration controlling signal. Thedrive controlling unit 76 may be provided as a switch for driving thevibrators 80 a and 80 b, or as a PWM controlling unit for varying a dutyratio of a supply voltage.

FIG. 4 shows the configuration of a low pass filter. LPF 58 is connectedto the output of the motion sensor, for example, the acceleration sensor54 in the sensor block 56, and a second-order passive filter 59 isillustrated in FIG. 4. The second-order passive filter 59 is providedwith an internal resistor R1 in the sensor block 56, a capacitor C1, aresistor R2 and a capacitor C2 in LPF 58. The order of the filter is notlimited to the second order, and may be the third order or higher, orthe first order.

The controller 20 in the embodiment has the vibrator 80 which vibrates,along with the acceleration sensor 54 and the angular velocity sensor.In the motion sensor such as the acceleration sensor 54, it is desirablethat the movement of the controller 20 caused by movement of the user isaccurately detected, and it is not desirable that the motion sensordetects the vibration component given to the housing due to thevibrating motion of the vibrator 80. Usually, there is a limit to thespeed at which the user moves the controller 20, and the maximumfrequency, which is considered to be a maximum frequency at which theuser can move the controller 20, is about 15 Hz. Therefore, by settingthe cutoff frequency of the second-order passive filter 59 to apredetermined value of 15 Hz or less, the vibration component of thecontroller 20 attributed to the vibrating motion of the vibrator 80 canbe removed from the output data of the acceleration sensor 54.

As for the vibration component which affects the detected value by themotion sensor such as the acceleration sensor 54, the resonance elementattributed to the vibrating motion of the vibrator 80 is far larger thanthe vibration component of the vibrator 80. The natural frequency of thecontroller 20 is set high by tightly fixing the member in the housing tothe housing in the game device 10 in the embodiment. More specifically,by setting the natural frequency of the controller 20 higher than thecutoff frequency Fc of the second-order passive filter 59, at least apart of the resonance element can be removed.

FIG. 5A shows the substrate and the vibrator which are fixed in thebottom housing being exposed after the removal of the top housing of thecontroller. A substrate 88 has a horizontally oriented shape, and isfixed to a front central position of the bottom housing. The vibrator 80a is provided with a motor 82 a and an eccentric member 86 a attached atthe end of the motor shaft, and is fixed to a position in the left grippart 28 a of the bottom housing while being sandwiched by a pair ofbinding lugs 84 a. Similarly, the vibrator 80 b is provided with a motor82 b and an eccentric member 86 b, and is fixed to a position in theright grip part 28 b of the bottom housing while being sandwiched by apair of binding lugs 84 b. The eccentric member 86 has a semicircularshape and is eccentrically fixed to the motor shaft, and when the motorshaft rotates, the eccentric member 86 vibrates the housing.

FIG. 5B shows the fixed structure of a motor. A pair of binding lugsextends from the bottom housing, and the motor 82 is pushed between thepair of binding lugs 84. While the motor 82 is pushed in, the pair ofbinding lugs 84 has elasticity for pushing the motor 82 in the directionin which the pair of binding lugs becomes closer to each other, and themotor 82 is tightly fixed to the bottom housing by the elastic force.The substrate 88 is also tightly fixed to the bottom housing in order toraise the natural frequency.

In general, the frequency of vibration given to the controller 20 by themovement of the user is lower than the frequency given to the controller20 by the vibrator 80. Therefore, when the cutoff frequency Fc islowered to a maximum extent within the range where the movement of thecontroller 20 caused by the movement of the user can be detected (e.g.,about 5 Hz), the vibrating motion attributed to the vibrator 80 can beeffectively removed; on the other hand, the lag time in LPF 58 becomeslonger due to the effect of a time constant. In the game system 1, thegame operation data of the user is preferably reflected in the movementof the character in the game the user is playing instantaneously, andthe lag time in LPF 58 is preferably reduced to a maximum extent.Therefore, as stated above, if the frequency component attributed to thevibrating motion of the vibrator 80 is effectively removed in LPF 58 bysetting the natural frequency of the controller 20 high, the sensoroutput data of the acceleration sensor 54 can be used as game operationdata within the acceptable lag time even when the cutoff frequency Fc isset to 15 Hz. For example, by setting the natural frequency of thecontroller 20 to twice or more the cutoff frequency of LPF 58, a noisecomponent due to the vibrator 80 can be effectively removed.

FIG. 6 shows a variation example of LPF. The LPF 58 is provided so thatfilter circuits 58 a or 58 b which have different cutoff frequencies canbe used selectively by a switch 55. For example, the filter circuit 58 amay have a cutoff frequency of 10 Hz, and the filter circuit 58 b mayhave a cutoff frequency of 15 Hz. A bypassing route 58 c which bypassesfilter circuits can also be selected with the switch 55.

As stated above, since the lag is caused by the time constant in thefilter circuit, the sensor output is preferably unconnected to thefilter circuit from the lag time perspective in the game applicationwhere the immediate reflection of the game operation data of the user inthe movement of the character in the game is required. In the gameapplication where no vibrating motion of the vibrator 80 is generated,the main controlling unit 50 controls the switch 55 so as to connect thesensor block 56 and the bypassing route 58 c. In contrast, in the gameapplication where vibrating motion of the vibrator 80 is generated, themain controlling unit 50 determines the destination for the sensor block56 according to whether the game application requires low latency. Morespecifically, in the game application where low latency is required, themain controlling unit 50 controls the switch 55 so as to connect thesensor block 56 and the filter circuit 58 b; and in the game applicationwhere low latency is not required, the main controlling unit 50 controlsthe switch 55 so as to connect the sensor block 56 and the filtercircuit 58 a. Thus, by having the main controlling unit 50 control theswitch 55 in accordance with the presence of vibrating motion generatedand further of requirement for the low latency, the appropriate gameoperation data in accordance with the game application can be sent tothe game device 10.

The information indicating whether the vibrating motion is generated andwhether the low latency is required in the game application may be sentbeforehand to the controller 20 from the game device 10. When theinformation indicating whether the vibrating motion is generated and/orwhether the low latency is required is embedded in the game program, thegame device 10 may read the information out and notify the controller 20of the information beforehand. The main controlling unit 50 sets theconnection destination of the switch 55 based on the notifiedinformation.

The driving of the vibrator 80 is controlled by the vibrationcontrolling signal sent form the game device 10. Therefore, upon thereception of the vibration starting signal, the main controlling unit 50may switch the switch 55 from the bypassing route 58 c to the filtercircuit 58 a or filter circuit 58 b, and upon the reception of thevibration terminating signal, the main controlling unit 50 may returnthe switch 55 back to the bypassing route 58 c. As a result, since thevibration component attributed to the vibrating motion of the vibrator80 is filter processed while the vibrating motion of the vibrator 80 isgenerated, and the output of the acceleration sensor 54 is connected tothe bypassing route 58 c while the vibrating motion of the vibrator 80is not generated, the lag due to the filter processing can be avoided.

FIG. 7 shows the configuration of a game device. The game device 10 isprovided with a wireless communication module 100, a communicationcontrolling unit 102, a main controlling unit 104, a sensor outputcorrection unit 110, a vibration controlling signal creation unit 120,an application processor 130, and an output unit 140. The processingfunctions according to the embodiment are implemented by any CPU, amemory or a program loaded into the memory. Configurations areimplemented by the cooperation of hardware components. The program maybe built in the game device 10 or may be provided from outside, beingstored in the recording medium. Thus, a person skilled in the art shouldappreciate that there are many ways of accomplishing these functionalblocks in various forms in accordance with the components of hardwareonly, software only, or the combination of both. In the illustratedexample, the CPU of the game device 10 accomplishes the functions as thecommunication controlling unit 102, the main controlling unit 104, thesensor output correction unit 110, the vibration controlling signalcreation unit 120, and the application processor 130. The game device 10may have a plurality of CPU's, considering the configuration of thehardware. In this case, a CPU may function as the communicationcontrolling unit 102 which controls the function of the wirelesscommunication module 100, another CPU may function as the maincontrolling unit 104 which controls the function of the whole gamedevice 10, another CPU may function as the application processor 130 andthe vibration controlling signal creation unit 120, and another CPU mayfunction as the sensor output correction unit 110.

The communication controlling unit 102 transmits and receives therequired data to and from the wireless communication module 100,controls the communication process of the wireless communication module100, and the wireless communication module 100 establishes the wirelesscommunication with the wireless communication module 92 of thecontroller 20. The wireless communication module 100 and the wirelesscommunication module 92 establish connections by, for example, aBluetooth (registered trademark) protocol. The data such as the gameoperation data is sent at predetermined cycles from the wirelesscommunication module 92 of the controller 20, and the communicationcontrolling unit 102 provides the data received by the wirelesscommunication module 100 to the main controlling unit 104.

The main controlling unit 104 provides the game operation data inputthrough the input unit such as the direction key 21 to the applicationprocessor 130. The application processor 130 reflects the game operationdata in the process of the game application.

The main controlling unit 104 provides the digitalized sensor outputdata to the sensor output correction unit 110. The game applicationstarted at the application processor 130 uses the sensor output data asgame operation data, and the sensor output correction unit 110 correctsthe sensor output data appropriately and provides the corrected sensoroutput data to the application processor 130 as game operation data. Theapplication processor 130 reflects the sensor output data in the processof the game application.

Upon the reception of the sensor output data, a sensor outputacquisition unit 112 provides the sensor output data to a maskingprocessing unit 118. The sensor output acquisition unit 112 may performthe averaging process on the sensor output data provided from thecontroller 20 at predetermined cycles and then provide the averagedsensor output data to the masking processing unit 118. For example, thesensor output acquisition unit 112 performs the averaging process on thesensor output data of the predetermined number of cycles. As describedabove, the sensor output acquisition unit 112 can reduce the influenceof the vibration component of the housing attributed to the vibrator 80superimposed on the sensor output data by averaging the predeterminednumber of sensor output data provided in succession. The maskingprocessing unit 118 performs the masking process on the accelerationsensor output data within the predetermined range of masking includingzero acceleration. More specifically, the masking processing unit 118corrects such acceleration sensor output data to have zero acceleration.There are a plurality of acceleration sensors 54 in the controller 20and the same number of sensor output correction units 110 as the numberof acceleration sensors 54 are provided. The masking processing unit 118may perform the masking process on the angular velocity sensor outputdata within the predetermined range of masking including zero angularvelocity. More specifically, the masking processing unit 118 correctssuch angular velocity sensor output data to have zero angular velocity.

FIG. 8 shows the sensor output data of the detected motion of acontroller caused by the movement of a user. For example, the sensoroutput data is the acceleration sensor output data of a z-axis element(vertical element). FIG. 8A shows a sensor output data SO_10 where theuser grips the controller in a horizontal position without any verticalmovements, and FIG. 8B shows a sensor output data SO_20 where the usergrips the controller in a horizontal position and moves the controllerup and down in a vertical direction.

FIGS. 9A and 9B show sensor output data of the detected vibrating motionof a controller, caused by the vibrating motion of a vibrator, alongwith the movement of a controller, caused by the movement of a user.FIG. 9A shows a sensor output data SO_12 where the user grips thecontroller in a horizontal position without any vertical movements, andFIG. 9B shows a sensor output data SO_22 where the user grips thecontroller in a horizontal position and moves the controller up and downin a vertical direction. Compared to FIGS. 8A and 8B, FIGS. 9A and 9Bshow the vibrating motions of the controller 20 attributed to thevibrating motions of the vibrator 80 are superimposed on the movementsof the controller 20 caused by the movements of the user.

When the vibration component of the vibrator 80 is superimposed on thesensor output data and the sensor output data is used as the gameoperation data to move the game character, the behavior of the gamecharacter shown is unintended to the user with respect to the game inputby the movement of the user. Thus, all the noise components attributedto the vibrating motion of the vibrator 80 are preferably removed in anormal situation.

However, the inventor has acquired a knowledge through the experimentusing test subjects that there is a difference in the influence given tothe user by the noise component attributed to the vibration motion ofthe vibrator 80 between when the user moves the controller 20 and whenthe user does not move the controller 20. In this experiment, it wasfound out that the user has a tendency to have unpleasant feeling whenthe game character moves due to the noise component attributed to thevibrating motion of the vibrator 80 against the user's intension ofmaking the game character to be stationary by not moving the controller20, on the other hand, the user barely notices the effect on the gamecharacter caused by the noise component attributed to the vibratingmotion of the vibrator 80 when the user moves the controller 20 withintension of moving the game character. Through this experiment, theinventor came to the finding that since it was not easy to move thecontroller 20 accurately as desired, the noise component of an amplitudesmaller than the movement of the user can be considered to be in theerror range of the movement of the user.

Therefore, the sensor output data of SO_12 shown in FIG. 9A isundesirable because the game character moves against the intention ofthe user wanting to fix the movement of the game character, and on theother hand, it can be seen that the sensor output data of SO_22 shown inFIG. 9B can achieve the movement of the game character without givingany unpleasant feelings to the user. The masking processing unit 118 inthe embodiment corrects the sensor output data by performing the maskingprocess on the amplitude component within the predetermined rangeincluding zero acceleration based on the above mentioned finding.

FIGS. 10A and 10B show the range of acceleration of masking. FIG. 10Ashows the relation between sensor output data SO_12 and the range ofmasking, and FIG. 10B shows the relation between sensor output dataSO_22 and the range of masking. The range of masking is set to −Ath orlarger (Ath is a positive predetermined value) and to Ath or smaller,and an absolute value of a negative lower limit and a positive upperlimit within the range of masking are equal. This is caused due to thenoise component attributed to the vibrator 80 swings to almost evenly inthe positive and negative based on the current posture of the controller20. An absolute value of a negative lower limit and a positive upperlimit within the range of masking do not need to be always equal.

FIG. 11 shows the relation of a sensor output data and accelerationduring masking process. In this example, the sensor output data takesthe value of FFh from 00h (hex), the sensor output data 00h correspondsto the acceleration of −3G, and the sensor output data FFh correspondsto the acceleration of +3G. For example, when a sensor output data 74hcorresponds to the acceleration of −Ath and a sensor output data 8Chcorresponds to the acceleration of +Ath, the masking processing unit 118corrects the acceleration to zero and outputs the zero acceleration whenthe sensor output data is in the range from 74h to 8Ch.

FIGS. 12A and 12B show the result of masking processing the sensoroutput data shown in FIGS. 10A and 10B.

FIG. 12A shows a sensor output data SO_14 generated by maskingprocessing the sensor output data SO_12, and FIG. 12B shows a sensoroutput data SO_24 generated by masking processing the sensor output dataSO_22. The sensor output data SO_14 in FIG. 12A appropriately expressesthe state of the controller 20 which is held stationary by the user byremoving the acceleration element in the range of masking. On the otherhand, the sensor output data SO_24 in FIG. 12B substantially expressesthe movement of the controller 20 caused by the movement of the usereven though the acceleration element in the range of masking is removed.Thus, the masking processing unit 118 can correct the sensor output datato the appropriate game operation data by performing the masking processon the predetermined acceleration element around zero acceleration anddisregarding the acceleration element.

The masking processing unit 118 provides the corrected sensor outputdata to the application processor 130 as the game operation data. Theapplication processor 130 creates the image signal and the audio signalwhich reflect the game operation data provided by the masking processingunit 118 in the movement of the game character along with the gameoperation data through, for example, the manipulation button 26,directly provided from the main controlling unit 104, and provides theimage signal and the audio signal respectively to the image displaydevice 3 and the audio output device 4 from the output unit 140.

The masking processing unit 118 may determine whether to perform themasking process based on the movement state of the controller 20. Asdescribed above, since the masking process is a process to set theacceleration element within the range of masking to be zero, when theuser moves the controller 20, the motion component is masked anddiscarded.

The movement state determination unit 114 determines the movement stateof the controller 20 and based on the result of the determination, theexecution of the masking process may be controlled. More specifically,the movement state determination unit 114 acquires the sensor outputdata from the sensor output acquisition unit 112 and determines whetherthe sensor output data continues taking the value within the range ofmasking in succession for a predetermined period of time. Thedetermination time may be, for example, a few seconds. When the movementstate determination unit 114 determines that the sensor output datacontinues taking the value within the range of masking for thepredetermined period of time, the movement state determination unit 114notifies the masking processing unit 118 of the determination result.Upon the reception of the determination result, the masking processingunit 118 starts performing the masking process on the sensor outputdata. When the movement state determination unit 114 determines that thesensor output data takes the value outside the range of masking, themovement state determination unit 114 notifies the masking processingunit 118 of the determination result. Upon the reception of thedetermination result, the masking processing unit 118 terminatesperforming the masking process on the sensor output data. As describedabove, having the movement state determination unit 114 monitor themovement state of the controller 20, the masking processing unit 118 canperform the masking process at an appropriate time.

The movement state of the controller 20 may be determined by whether thevibrator 80 is vibrating. A vibration controlling signal creation unit120 creates the vibration controlling signal by the instruction from theapplication processor 130 and provides the vibration controlling signalto the main controlling unit 104. Upon the reception of the vibrationcontrolling signal, the communication controlling unit 102 transmits thevibration controlling signal to the controller 20 from the wirelesscommunication module 100. As stated above, since the vibrator 80 of thecontroller 20 is controlled by the vibration controlling signal createdby the vibration controlling signal creation unit 120, the approach todetermine the movement state of the controller 20 is also effective byusing the control.

More specifically, a vibration state determination unit 116 receives thevibration controlling signal from the vibration controlling signalcreation unit 120. As a result, the vibration state determination unit116 determines whether the vibrator 80 will start or terminate thevibration. Upon the reception of the vibration starting signal, thevibration state determination unit 116 determines that the vibrator 80is in the state to vibrate and notifies the masking processing unit 118of the determination result. Upon the reception of the notification, themasking processing unit 118 starts performing the masking process on thesensor output data. Upon the reception of the vibration terminatingsignal, the vibration state determination unit 116 determines that thevibrator 80 is in the state to terminate the vibration and notifies themasking processing unit 118 of the determination result. Upon thereception of the notification, the masking processing unit 118terminates the masking process on the sensor output data. It takes acertain amount of time until the inertia rotation of the eccentricmember 86 stops after the vibration terminating signal is provided tothe controller 20 followed by the termination of the voltage applicationto the motor 82. Therefore, taking the time required for the rotation ofthe eccentric member 86 to stop after the termination of the voltageapplication into consideration, the masking processing unit 118 may stopthe masking process after the predetermined period after the receptionof the notification. As described above, having the vibration statedetermination unit 116 determines whether the controller 20 is in thestate to vibrate sympathetically with the vibrating motion of thevibrator 80, the masking processing unit 118 can perform the maskingprocess at an appropriate time.

In controlling the masking process using the movement statedetermination unit 114 and the vibration state determination unit 116,the controlling can be done using the movement state determination unit114 or the vibration state determination unit 116 alone. However, bycombining the movement state determination unit 114 and the vibrationstate determination unit 116, the masking process in which the movementstate of the controller 20 is reflected can be achieved. When themasking process is controlled using the combination of the movementstate determination unit 114 and the vibration state determination unit116, the masking process control based on the determination result ofthe vibration state by the vibration state determination unit 116 may begiven priority over the masking process control based on thedetermination result of the movement state by the movement statedetermination unit 114. Since the vibrating motion of the controller 20attributed to the vibrating motion of the vibrator 80 is not generatedif the vibrator 80 is not vibrating, better control of the maskingprocess can be achieved by determining whether the vibrator 80 isvibrating.

Described above is an explanation based on the embodiments of thepresent invention. These embodiments are intended to be illustrativeonly and it will be obvious to those skilled in the art that variousmodifications to constituting elements and processes could be developedand that such modifications are also within the scope of the presentinvention. In the embodiments, the example of performing the maskingprocess on the acceleration sensor output data is explained. Byperforming the masking process on the angular velocity sensor outputdata in the same way, the vibration component of the controller 20attributed to the vibrating motion of the vibrator 80 can be removed orreduced from the angular velocity sensor.

In the embodiment, the game device 10 has the function of correcting thesensor output data. However, the function of correcting the sensoroutput data may be realized by the controller 20. For example, byplacing the masking processing unit 118 in the subsequent stage of theanalog-to-digital conversion device 64 or the averaging processing block68 in the controller 20, the controller 20 can have the function ofcorrecting the sensor output data. In this case, the functions of themovement state determination unit 114 and the vibration statedetermination unit 116 can be realized by the main controlling unit 50.

1. A game device operative to execute a game application, comprising: anapplication processor operative to process a game application; acorrection unit operative to receive a motion sensor output data, whichhas been analog-to-digital converted, in a game controller, correct thereceived motion sensor output data, and provide the corrected motionsensor output data to the application processor as game operation data,wherein the correction unit has a masking processing unit which performsthe masking process on the motion sensor output data within apredetermined range of masking.
 2. The game device according to claim 1,wherein, the motion sensor output data is the output data of anacceleration sensor, and the masking processing unit corrects the outputdata of the acceleration sensor within the range of masking includingzero acceleration to have zero acceleration.
 3. The game deviceaccording to claim 1, wherein, the correction unit has a vibration statedetermination unit which determines the vibration state of the gamecontroller, and when the vibration state determination unit determinesthat a vibrator in the game controller is vibrating, the maskingprocessing unit performs the masking process.
 4. The game deviceaccording to claim 1, wherein, the correction unit has a movement statedetermination unit which determines the movement state of the gamecontroller, and when the movement state determination unit determinesthat motion sensor output data takes the value within the range ofmasking in succession for a predetermined period, the masking processingunit performs the masking process.
 5. A game system provided with a gamecontroller and a game device operative to execute a game application,wherein the game controller comprises: at least one vibrator of whichthe driving is controlled by a vibration controlling signal provided bythe game device; a motion sensor; a low pass filter to which a motionsensor output data is provided; an analog-to-digital converter operativeto analog-to-digital convert the output data of the low pass filter; anda communication module operative to provide the motion sensor outputdata, which has been analog-to-digital converted, to the game device,wherein the game device comprises: a communication module operative toreceive the motion sensor output data from the game controller; anapplication processor operative to process a game application; acreation unit operative to create the vibration controlling signal to beprovided to the game controller; and a correction unit operative tocorrect the received motion sensor output data and provides thecorrected motion sensor output data to the application processor,wherein the correction unit has a masking processing unit which performsthe masking process on the motion sensor output data within apredetermined range of masking.
 6. The game system according to claim 5,wherein the motion sensor output data is the output data of anacceleration sensor, and the masking processing unit corrects the outputdata of the acceleration sensor within the range of masking includingzero acceleration to have zero acceleration.
 7. The game systemaccording to claim 5, wherein the correction unit has a vibration statedetermination unit which determines the vibration state of the gamecontroller, and when the vibration state determination unit determinesthat the vibrator of the game controller is vibrating, the maskingprocessing unit performs the masking process.
 8. The game systemaccording to claim 5, wherein the correction unit has a movement statedetermination unit which determines the movement state of the gamecontroller, and when the movement state determination unit determinesthat motion sensor output data takes the value within the range ofmasking in succession for a predetermined period, the masking processingunit performs the masking process.